In [1]:
import numpy as np
In [2]:
array1 = np.array([1, 2, 3, 4])
array2 = np.array([[1, 2], [3, 4]])
print type(array1), '\n', array1
print type(array2), '\n', array2
In [3]:
array3 = np.arange(1, 4)
print array3, type(array3)
In [4]:
# 0 ~ 10의 범위를 5등분
array4 = np.linspace(0, 10, 5)
print array4
In [5]:
print np.zeros((3, 5))
print np.zeros(5)
In [6]:
# (n1, n2, x, y): (x, y) 행렬(1) n2개 생성 후 그것을 다시 n1개 만큼 생성하여 반환(dimension 증가)
print np.ones((2, 3, 2, 3))
print np.ones(5)
In [7]:
# np.random.rand(n)
## Uniform Distribution으로부터 [0, 1) 실수 n개 출력
print np.random.rand(3)
# np.random.randn(n)
## Standard Normal Distribution으로부터 n개의 실수 출력
print np.random.randn(3)
In [8]:
a = np.random.rand()
print a
In [9]:
np.random.seed(0)
print np.random.rand()
np.random.seed(7)
print np.random.rand()
In [10]:
array1 = np.array([1, 2, 3, 4])
array2 = np.array([[1, 2], [3, 4], [5, 6]])
In [11]:
print array1[0]
print array1[1:-1]
In [12]:
print array2
In [13]:
# 1행 출력
print array2[0]
# 1행 2열 출력
print array2[0, 1]
# 2행부터 끝까지, 1열부터 2열까지
print array2[1:, :2]
# 전체 행, 2열
print array2[:, 1]
# 전체 행, 2열부터(범위)
print array2[:, 1:]
In [14]:
# np.random.randint(x, y, n): [x, y)의 정수 n개 반환
array = np.random.randint(0, 20, 10)
print array, type(array)
In [15]:
# 짝수 선별
even_mask = (array % 2 == 0)
print array[even_mask]
print array[array % 2 == 0]
In [16]:
array = np.arange(1, 6) * 5
print array
In [17]:
array2 = array ** 2
print array2
print array2 ** 0.5
In [18]:
array1 = np.arange(0, 20, 2) + 2
array2 = np.arange(1, 11)
print 'array1:', array1, 'array2:', array2
print '-'*100
print 'array1 - array2', array1 - array2
print 'array1 * array2', array1 * array2
print 'array1 * array1', array1 * array1
In [19]:
array1 = np.array([[1, 1], [1, 1]])
array2 = np.array([[2, 2], [2, 2]])
print array1 * array2 # 원소간 곱셈
print array1.dot(array2) # 행렬곱셈(내적)
In [20]:
array = np.random.randint(1, 10, size = (4,4))
print array
In [21]:
print np.all(array < 7)
In [22]:
print np.any(array % 7 == 0)
In [23]:
array = np.array([[1, 2, 3], [7, 8, 9]])
print array
print array.ravel()
In [24]:
array = np.arange(1, 11)
print array
array2 = array.reshape(2, 5)
print array2
In [25]:
# numpy methods for descriptive statistics
print array
print 'min:', np.min(array) # 최소값
print 'mean:', np.mean(array) # 평균
print 'median:', np.median(array) # 중앙값
print 'max:', np.max(array) # 최대값
print 'std:', np.std(array) # 표준편차
print 'argmin:', np.argmin(array) # 최소값 index 반환
print 'argmax:', np.argmax(array) # 최대값 index 반환
print 'sum:', np.sum(array) # 합계
print 'sqrt:', np.sqrt(array) # 제곱근
In [26]:
#bit-wise XOR
a = 10
print 10 ^ 2
print 17 ^ 8